package com.net.xpay.common.manager.stat;

import com.net.common.manager.DomainManager;
import com.net.xpay.common.domain.stat.UserSafePayTransStat;
import com.net.xpay.common.model.UserSafePayTransStatMonthModel;
import com.net.xpay.common.model.UserSafePayTransStatSumModel;
import com.net.xpay.core.model.UserSafePayTransStatSearchModel;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;


public interface UserSafePayTransStatManager extends DomainManager<Long,UserSafePayTransStat> {
    UserSafePayTransStat findByDayAndUserId(LocalDate day, Long userId);

    List<UserSafePayTransStat> search(@Param("searchModel") UserSafePayTransStatSearchModel searchModel);

    long searchCount(@Param("searchModel") UserSafePayTransStatSearchModel searchModel);

    List<UserSafePayTransStatMonthModel> sumMonthUserSafePayTransStat(Integer year, Integer month, Long userId);

    UserSafePayTransStatSumModel sumUserSafePayTransStat(@Param("searchModel") UserSafePayTransStatSearchModel searchModel);

    List<UserSafePayTransStat> list(UserSafePayTransStatSearchModel searchModel);
}
